package com.orm.mapping;

import com.orm.mapping.xmltag.MixedSqlNode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.lang.reflect.Parameter;
import java.util.SortedMap;

/**
 * 保存 sql 语句等信息
 */
@Data
public class MapperStatement {
	private String id;         // 对应的方法名  ,没有起到什么作用，删了吧?
	private String sqlType;    // 语句类型
	private String sql;        // sql 原始语句
	private Class<?> returnType;   // 返回类型,以方法解析返回结果为准，忽略xml中的定义
	
	//  参数索引  ->  参数名
	private SortedMap<Integer,String> paramIndexToName;  // 保存参数名与索引之间的顺序
	
	// 动态节点，存在 <where> <set> <if>这种东西
	private MixedSqlNode root;
	
	
	private boolean returnOne;
	private boolean returnMany;
	private boolean returnCount;
	private boolean returnVoid;   // 返回空
}
